0 JBC
↳1 JBC2FIG (⇐)
↳2 FIGraph
↳3 FIGtoITRSProof (⇐)
↳4 ITRS
↳5 DuplicateArgsRemoverProof (⇔)
↳6 ITRS
↳7 ITRStoIDPProof (⇔)
↳8 IDP
↳9 UsableRulesProof (⇔)
↳10 IDP
↳11 IDPNonInfProof (⇐)
↳12 AND
↳13 IDP
↳14 IDependencyGraphProof (⇔)
↳15 IDP
↳16 IDPNonInfProof (⇐)
↳17 AND
↳18 IDP
↳19 IDependencyGraphProof (⇔)
↳20 TRUE
↳21 IDP
↳22 IDependencyGraphProof (⇔)
↳23 TRUE
↳24 IDP
↳25 IDependencyGraphProof (⇔)
↳26 IDP
↳27 IDPNonInfProof (⇐)
↳28 AND
↳29 IDP
↳30 IDependencyGraphProof (⇔)
↳31 TRUE
↳32 IDP
↳33 IDependencyGraphProof (⇔)
↳34 TRUE
No human-readable program information known.
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Cond_Load1146(x1, x2, x3, x4) → Cond_Load1146(x1, x3, x4)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if ((i112[0] →* i112[1])∧(i84[0] >= 0 && i112[0] > i84[0] →* TRUE)∧(i84[0] →* i84[1]))
(1) -> (2), if ((i112[1] →* i118[2])∧(i112[1] →* i119[2])∧(i84[1] →* i84[2]))
(1) -> (4), if ((i112[1] →* i119[4])∧(i112[1] →* i118[4])∧(i84[1] →* i84[4]))
(2) -> (3), if ((i84[2] >= 0 && i119[2] > i84[2] →* TRUE)∧(i119[2] →* i119[3])∧(i84[2] →* i84[3])∧(i118[2] →* i118[3]))
(3) -> (2), if ((i119[3] + -1 →* i119[2])∧(i118[3] + -1 →* i118[2])∧(i84[3] →* i84[2]))
(3) -> (4), if ((i84[3] →* i84[4])∧(i119[3] + -1 →* i119[4])∧(i118[3] + -1 →* i118[4]))
(4) -> (5), if ((i119[4] →* i119[5])∧(i84[4] →* i84[5])∧(i118[4] →* i118[5])∧(i119[4] <= i84[4] →* TRUE))
(5) -> (0), if ((i118[5] →* i112[0])∧(i84[5] →* i84[0])∧(i119[5] →* i112[0]))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if ((i112[0] →* i112[1])∧(i84[0] >= 0 && i112[0] > i84[0] →* TRUE)∧(i84[0] →* i84[1]))
(1) -> (2), if ((i112[1] →* i118[2])∧(i112[1] →* i119[2])∧(i84[1] →* i84[2]))
(1) -> (4), if ((i112[1] →* i119[4])∧(i112[1] →* i118[4])∧(i84[1] →* i84[4]))
(2) -> (3), if ((i84[2] >= 0 && i119[2] > i84[2] →* TRUE)∧(i119[2] →* i119[3])∧(i84[2] →* i84[3])∧(i118[2] →* i118[3]))
(3) -> (2), if ((i119[3] + -1 →* i119[2])∧(i118[3] + -1 →* i118[2])∧(i84[3] →* i84[2]))
(3) -> (4), if ((i84[3] →* i84[4])∧(i119[3] + -1 →* i119[4])∧(i118[3] + -1 →* i118[4]))
(4) -> (5), if ((i119[4] →* i119[5])∧(i84[4] →* i84[5])∧(i118[4] →* i118[5])∧(i119[4] <= i84[4] →* TRUE))
(5) -> (0), if ((i118[5] →* i112[0])∧(i84[5] →* i84[0])∧(i119[5] →* i112[0]))
(1) (i112[0]=i112[1]∧&&(>=(i84[0], 0), >(i112[0], i84[0]))=TRUE∧i84[0]=i84[1] ⇒ LOAD1146(i112[0], i112[0], i84[0])≥NonInfC∧LOAD1146(i112[0], i112[0], i84[0])≥COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])∧(UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥))
(2) (>=(i84[0], 0)=TRUE∧>(i112[0], i84[0])=TRUE ⇒ LOAD1146(i112[0], i112[0], i84[0])≥NonInfC∧LOAD1146(i112[0], i112[0], i84[0])≥COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])∧(UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥))
(3) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i84[0] + [bni_29]i112[0] ≥ 0∧[(-1)bso_30] ≥ 0)
(4) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i84[0] + [bni_29]i112[0] ≥ 0∧[(-1)bso_30] ≥ 0)
(5) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i84[0] + [bni_29]i112[0] ≥ 0∧[(-1)bso_30] ≥ 0)
(6) (i84[0] ≥ 0∧i112[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)Bound*bni_29] + [bni_29]i112[0] ≥ 0∧[(-1)bso_30] ≥ 0)
(7) (i112[1]=i118[2]∧i112[1]=i119[2]∧i84[1]=i84[2] ⇒ COND_LOAD1146(TRUE, i112[1], i84[1])≥NonInfC∧COND_LOAD1146(TRUE, i112[1], i84[1])≥LOAD1221(i112[1], i112[1], i84[1])∧(UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥))
(8) (COND_LOAD1146(TRUE, i112[1], i84[1])≥NonInfC∧COND_LOAD1146(TRUE, i112[1], i84[1])≥LOAD1221(i112[1], i112[1], i84[1])∧(UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥))
(9) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bso_32] ≥ 0)
(10) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bso_32] ≥ 0)
(11) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bso_32] ≥ 0)
(12) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(13) (i112[1]=i119[4]∧i112[1]=i118[4]∧i84[1]=i84[4] ⇒ COND_LOAD1146(TRUE, i112[1], i84[1])≥NonInfC∧COND_LOAD1146(TRUE, i112[1], i84[1])≥LOAD1221(i112[1], i112[1], i84[1])∧(UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥))
(14) (COND_LOAD1146(TRUE, i112[1], i84[1])≥NonInfC∧COND_LOAD1146(TRUE, i112[1], i84[1])≥LOAD1221(i112[1], i112[1], i84[1])∧(UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥))
(15) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bso_32] ≥ 0)
(16) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bso_32] ≥ 0)
(17) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bso_32] ≥ 0)
(18) ((UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(19) (&&(>=(i84[2], 0), >(i119[2], i84[2]))=TRUE∧i119[2]=i119[3]∧i84[2]=i84[3]∧i118[2]=i118[3] ⇒ LOAD1221(i118[2], i119[2], i84[2])≥NonInfC∧LOAD1221(i118[2], i119[2], i84[2])≥COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])∧(UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥))
(20) (>=(i84[2], 0)=TRUE∧>(i119[2], i84[2])=TRUE ⇒ LOAD1221(i118[2], i119[2], i84[2])≥NonInfC∧LOAD1221(i118[2], i119[2], i84[2])≥COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])∧(UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥))
(21) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(-1)bni_33 + (-1)Bound*bni_33] + [(-1)bni_33]i84[2] + [(-1)bni_33]i119[2] + [(2)bni_33]i118[2] ≥ 0∧[(-1)bso_34] ≥ 0)
(22) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(-1)bni_33 + (-1)Bound*bni_33] + [(-1)bni_33]i84[2] + [(-1)bni_33]i119[2] + [(2)bni_33]i118[2] ≥ 0∧[(-1)bso_34] ≥ 0)
(23) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(-1)bni_33 + (-1)Bound*bni_33] + [(-1)bni_33]i84[2] + [(-1)bni_33]i119[2] + [(2)bni_33]i118[2] ≥ 0∧[(-1)bso_34] ≥ 0)
(24) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(2)bni_33] = 0∧[(-1)bni_33 + (-1)Bound*bni_33] + [(-1)bni_33]i84[2] + [(-1)bni_33]i119[2] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
(25) (i84[2] ≥ 0∧i119[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(2)bni_33] = 0∧[(-2)bni_33 + (-1)Bound*bni_33] + [(-2)bni_33]i84[2] + [(-1)bni_33]i119[2] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
(26) (&&(>=(i84[2], 0), >(i119[2], i84[2]))=TRUE∧i119[2]=i119[3]∧i84[2]=i84[3]∧i118[2]=i118[3]∧+(i119[3], -1)=i119[2]1∧+(i118[3], -1)=i118[2]1∧i84[3]=i84[2]1 ⇒ COND_LOAD1221(TRUE, i118[3], i119[3], i84[3])≥NonInfC∧COND_LOAD1221(TRUE, i118[3], i119[3], i84[3])≥LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])∧(UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥))
(27) (>=(i84[2], 0)=TRUE∧>(i119[2], i84[2])=TRUE ⇒ COND_LOAD1221(TRUE, i118[2], i119[2], i84[2])≥NonInfC∧COND_LOAD1221(TRUE, i118[2], i119[2], i84[2])≥LOAD1221(+(i118[2], -1), +(i119[2], -1), i84[2])∧(UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥))
(28) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] + [(2)bni_35]i118[2] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(29) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] + [(2)bni_35]i118[2] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(30) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] + [(2)bni_35]i118[2] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(31) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(2)bni_35] = 0∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] ≥ 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(32) (i84[2] ≥ 0∧i119[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(2)bni_35] = 0∧[(-2)bni_35 + (-1)Bound*bni_35] + [(-2)bni_35]i84[2] + [(-1)bni_35]i119[2] ≥ 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(33) (&&(>=(i84[2], 0), >(i119[2], i84[2]))=TRUE∧i119[2]=i119[3]∧i84[2]=i84[3]∧i118[2]=i118[3]∧i84[3]=i84[4]∧+(i119[3], -1)=i119[4]∧+(i118[3], -1)=i118[4] ⇒ COND_LOAD1221(TRUE, i118[3], i119[3], i84[3])≥NonInfC∧COND_LOAD1221(TRUE, i118[3], i119[3], i84[3])≥LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])∧(UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥))
(34) (>=(i84[2], 0)=TRUE∧>(i119[2], i84[2])=TRUE ⇒ COND_LOAD1221(TRUE, i118[2], i119[2], i84[2])≥NonInfC∧COND_LOAD1221(TRUE, i118[2], i119[2], i84[2])≥LOAD1221(+(i118[2], -1), +(i119[2], -1), i84[2])∧(UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥))
(35) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] + [(2)bni_35]i118[2] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(36) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] + [(2)bni_35]i118[2] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(37) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] + [(2)bni_35]i118[2] ≥ 0∧[1 + (-1)bso_36] ≥ 0)
(38) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(2)bni_35] = 0∧[(-1)bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i84[2] + [(-1)bni_35]i119[2] ≥ 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(39) (i84[2] ≥ 0∧i119[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(2)bni_35] = 0∧[(-2)bni_35 + (-1)Bound*bni_35] + [(-2)bni_35]i84[2] + [(-1)bni_35]i119[2] ≥ 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(40) (i119[4]=i119[5]∧i84[4]=i84[5]∧i118[4]=i118[5]∧<=(i119[4], i84[4])=TRUE ⇒ LOAD1221(i118[4], i119[4], i84[4])≥NonInfC∧LOAD1221(i118[4], i119[4], i84[4])≥COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])∧(UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥))
(41) (<=(i119[4], i84[4])=TRUE ⇒ LOAD1221(i118[4], i119[4], i84[4])≥NonInfC∧LOAD1221(i118[4], i119[4], i84[4])≥COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])∧(UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥))
(42) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [(-1)bni_37]i84[4] + [(-1)bni_37]i119[4] + [(2)bni_37]i118[4] ≥ 0∧[(-1)bso_38] ≥ 0)
(43) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [(-1)bni_37]i84[4] + [(-1)bni_37]i119[4] + [(2)bni_37]i118[4] ≥ 0∧[(-1)bso_38] ≥ 0)
(44) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [(-1)bni_37]i84[4] + [(-1)bni_37]i119[4] + [(2)bni_37]i118[4] ≥ 0∧[(-1)bso_38] ≥ 0)
(45) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(2)bni_37] = 0∧[(-1)bni_37 + (-1)Bound*bni_37] + [(-1)bni_37]i84[4] + [(-1)bni_37]i119[4] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(46) (i84[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(2)bni_37] = 0∧[(-1)bni_37 + (-1)Bound*bni_37] + [(-2)bni_37]i119[4] + [(-1)bni_37]i84[4] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(47) (i84[4] ≥ 0∧i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(2)bni_37] = 0∧[(-1)bni_37 + (-1)Bound*bni_37] + [(-2)bni_37]i119[4] + [(-1)bni_37]i84[4] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(48) (i84[4] ≥ 0∧i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(2)bni_37] = 0∧[(-1)bni_37 + (-1)Bound*bni_37] + [(2)bni_37]i119[4] + [(-1)bni_37]i84[4] ≥ 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(49) (i118[5]=i112[0]∧i84[5]=i84[0]∧i119[5]=i112[0] ⇒ COND_LOAD12211(TRUE, i118[5], i119[5], i84[5])≥NonInfC∧COND_LOAD12211(TRUE, i118[5], i119[5], i84[5])≥LOAD1146(i118[5], i119[5], i84[5])∧(UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥))
(50) (COND_LOAD12211(TRUE, i119[5], i119[5], i84[5])≥NonInfC∧COND_LOAD12211(TRUE, i119[5], i119[5], i84[5])≥LOAD1146(i119[5], i119[5], i84[5])∧(UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥))
(51) ((UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bso_40] ≥ 0)
(52) ((UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bso_40] ≥ 0)
(53) ((UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bso_40] ≥ 0)
(54) ((UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧0 = 0∧0 = 0∧[(-1)bso_40] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = [3]
POL(LOAD1146(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + [2]x1
POL(COND_LOAD1146(x1, x2, x3)) = [-1] + [-1]x3 + x2
POL(&&(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(0) = 0
POL(>(x1, x2)) = [-1]
POL(LOAD1221(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + [2]x1
POL(COND_LOAD1221(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [2]x2
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(COND_LOAD12211(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [2]x2
POL(<=(x1, x2)) = [-1]
COND_LOAD1221(TRUE, i118[3], i119[3], i84[3]) → LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])
LOAD1146(i112[0], i112[0], i84[0]) → COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])
LOAD1146(i112[0], i112[0], i84[0]) → COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])
COND_LOAD1146(TRUE, i112[1], i84[1]) → LOAD1221(i112[1], i112[1], i84[1])
LOAD1221(i118[2], i119[2], i84[2]) → COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])
LOAD1221(i118[4], i119[4], i84[4]) → COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])
COND_LOAD12211(TRUE, i118[5], i119[5], i84[5]) → LOAD1146(i118[5], i119[5], i84[5])
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(5) -> (0), if ((i118[5] →* i112[0])∧(i84[5] →* i84[0])∧(i119[5] →* i112[0]))
(0) -> (1), if ((i112[0] →* i112[1])∧(i84[0] >= 0 && i112[0] > i84[0] →* TRUE)∧(i84[0] →* i84[1]))
(1) -> (2), if ((i112[1] →* i118[2])∧(i112[1] →* i119[2])∧(i84[1] →* i84[2]))
(1) -> (4), if ((i112[1] →* i119[4])∧(i112[1] →* i118[4])∧(i84[1] →* i84[4]))
(4) -> (5), if ((i119[4] →* i119[5])∧(i84[4] →* i84[5])∧(i118[4] →* i118[5])∧(i119[4] <= i84[4] →* TRUE))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(5) -> (0), if ((i118[5] →* i112[0])∧(i84[5] →* i84[0])∧(i119[5] →* i112[0]))
(0) -> (1), if ((i112[0] →* i112[1])∧(i84[0] >= 0 && i112[0] > i84[0] →* TRUE)∧(i84[0] →* i84[1]))
(1) -> (4), if ((i112[1] →* i119[4])∧(i112[1] →* i118[4])∧(i84[1] →* i84[4]))
(4) -> (5), if ((i119[4] →* i119[5])∧(i84[4] →* i84[5])∧(i118[4] →* i118[5])∧(i119[4] <= i84[4] →* TRUE))
(1) (i119[4]=i119[5]∧i84[4]=i84[5]∧i118[4]=i118[5]∧<=(i119[4], i84[4])=TRUE∧i118[5]=i112[0]∧i84[5]=i84[0]∧i119[5]=i112[0] ⇒ COND_LOAD12211(TRUE, i118[5], i119[5], i84[5])≥NonInfC∧COND_LOAD12211(TRUE, i118[5], i119[5], i84[5])≥LOAD1146(i118[5], i119[5], i84[5])∧(UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥))
(2) (<=(i119[4], i84[4])=TRUE ⇒ COND_LOAD12211(TRUE, i119[4], i119[4], i84[4])≥NonInfC∧COND_LOAD12211(TRUE, i119[4], i119[4], i84[4])≥LOAD1146(i119[4], i119[4], i84[4])∧(UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥))
(3) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]i84[4] + [bni_24]i119[4] ≥ 0∧[(-1)bso_25] ≥ 0)
(4) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]i84[4] + [bni_24]i119[4] ≥ 0∧[(-1)bso_25] ≥ 0)
(5) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]i84[4] + [bni_24]i119[4] ≥ 0∧[(-1)bso_25] ≥ 0)
(6) (i84[4] ≥ 0 ⇒ (UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]i84[4] ≥ 0∧[(-1)bso_25] ≥ 0)
(7) (i84[4] ≥ 0∧i119[4] ≥ 0 ⇒ (UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]i84[4] ≥ 0∧[(-1)bso_25] ≥ 0)
(8) (i84[4] ≥ 0∧i119[4] ≥ 0 ⇒ (UIncreasing(LOAD1146(i118[5], i119[5], i84[5])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]i84[4] ≥ 0∧[(-1)bso_25] ≥ 0)
(9) (i112[1]=i119[4]∧i112[1]=i118[4]∧i84[1]=i84[4]∧i119[4]=i119[5]∧i84[4]=i84[5]∧i118[4]=i118[5]∧<=(i119[4], i84[4])=TRUE ⇒ LOAD1221(i118[4], i119[4], i84[4])≥NonInfC∧LOAD1221(i118[4], i119[4], i84[4])≥COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])∧(UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥))
(10) (<=(i119[4], i84[4])=TRUE ⇒ LOAD1221(i119[4], i119[4], i84[4])≥NonInfC∧LOAD1221(i119[4], i119[4], i84[4])≥COND_LOAD12211(<=(i119[4], i84[4]), i119[4], i119[4], i84[4])∧(UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥))
(11) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]i84[4] + [(-1)bni_26]i119[4] ≥ 0∧[(-1)bso_27] + [2]i84[4] + [-2]i119[4] ≥ 0)
(12) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]i84[4] + [(-1)bni_26]i119[4] ≥ 0∧[(-1)bso_27] + [2]i84[4] + [-2]i119[4] ≥ 0)
(13) (i84[4] + [-1]i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]i84[4] + [(-1)bni_26]i119[4] ≥ 0∧[(-1)bso_27] + [2]i84[4] + [-2]i119[4] ≥ 0)
(14) (i84[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]i84[4] ≥ 0∧[(-1)bso_27] + [2]i84[4] ≥ 0)
(15) (i84[4] ≥ 0∧i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]i84[4] ≥ 0∧[(-1)bso_27] + [2]i84[4] ≥ 0)
(16) (i84[4] ≥ 0∧i119[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]i84[4] ≥ 0∧[(-1)bso_27] + [2]i84[4] ≥ 0)
(17) (i112[0]=i112[1]∧&&(>=(i84[0], 0), >(i112[0], i84[0]))=TRUE∧i84[0]=i84[1]∧i112[1]=i119[4]∧i112[1]=i118[4]∧i84[1]=i84[4] ⇒ COND_LOAD1146(TRUE, i112[1], i84[1])≥NonInfC∧COND_LOAD1146(TRUE, i112[1], i84[1])≥LOAD1221(i112[1], i112[1], i84[1])∧(UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥))
(18) (>=(i84[0], 0)=TRUE∧>(i112[0], i84[0])=TRUE ⇒ COND_LOAD1146(TRUE, i112[0], i84[0])≥NonInfC∧COND_LOAD1146(TRUE, i112[0], i84[0])≥LOAD1221(i112[0], i112[0], i84[0])∧(UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥))
(19) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]i84[0] + [(-1)bni_28]i112[0] ≥ 0∧[(-1)bso_29] ≥ 0)
(20) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]i84[0] + [(-1)bni_28]i112[0] ≥ 0∧[(-1)bso_29] ≥ 0)
(21) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]i84[0] + [(-1)bni_28]i112[0] ≥ 0∧[(-1)bso_29] ≥ 0)
(22) (i84[0] ≥ 0∧i112[0] ≥ 0 ⇒ (UIncreasing(LOAD1221(i112[1], i112[1], i84[1])), ≥)∧[(-2)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]i112[0] ≥ 0∧[(-1)bso_29] ≥ 0)
(23) (i118[5]=i112[0]∧i84[5]=i84[0]∧i119[5]=i112[0]∧i112[0]=i112[1]∧&&(>=(i84[0], 0), >(i112[0], i84[0]))=TRUE∧i84[0]=i84[1] ⇒ LOAD1146(i112[0], i112[0], i84[0])≥NonInfC∧LOAD1146(i112[0], i112[0], i84[0])≥COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])∧(UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥))
(24) (>=(i84[0], 0)=TRUE∧>(i112[0], i84[0])=TRUE ⇒ LOAD1146(i112[0], i112[0], i84[0])≥NonInfC∧LOAD1146(i112[0], i112[0], i84[0])≥COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])∧(UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥))
(25) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [(-1)bni_30]i84[0] + [bni_30]i112[0] ≥ 0∧[-1 + (-1)bso_31] + [-2]i84[0] + [2]i112[0] ≥ 0)
(26) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [(-1)bni_30]i84[0] + [bni_30]i112[0] ≥ 0∧[-1 + (-1)bso_31] + [-2]i84[0] + [2]i112[0] ≥ 0)
(27) (i84[0] ≥ 0∧i112[0] + [-1] + [-1]i84[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [(-1)bni_30]i84[0] + [bni_30]i112[0] ≥ 0∧[-1 + (-1)bso_31] + [-2]i84[0] + [2]i112[0] ≥ 0)
(28) (i84[0] ≥ 0∧i112[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]i112[0] ≥ 0∧[1 + (-1)bso_31] + [2]i112[0] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_LOAD12211(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [2]x2
POL(LOAD1146(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + [2]x1
POL(LOAD1221(x1, x2, x3)) = [-1] + x3 + [-1]x2
POL(<=(x1, x2)) = [-1]
POL(COND_LOAD1146(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(&&(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(0) = 0
POL(>(x1, x2)) = [-1]
LOAD1146(i112[0], i112[0], i84[0]) → COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])
LOAD1221(i118[4], i119[4], i84[4]) → COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])
LOAD1146(i112[0], i112[0], i84[0]) → COND_LOAD1146(&&(>=(i84[0], 0), >(i112[0], i84[0])), i112[0], i84[0])
COND_LOAD12211(TRUE, i118[5], i119[5], i84[5]) → LOAD1146(i118[5], i119[5], i84[5])
LOAD1221(i118[4], i119[4], i84[4]) → COND_LOAD12211(<=(i119[4], i84[4]), i118[4], i119[4], i84[4])
COND_LOAD1146(TRUE, i112[1], i84[1]) → LOAD1221(i112[1], i112[1], i84[1])
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(1) -> (4), if ((i112[1] →* i119[4])∧(i112[1] →* i118[4])∧(i84[1] →* i84[4]))
(4) -> (5), if ((i119[4] →* i119[5])∧(i84[4] →* i84[5])∧(i118[4] →* i118[5])∧(i119[4] <= i84[4] →* TRUE))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(1) -> (2), if ((i112[1] →* i118[2])∧(i112[1] →* i119[2])∧(i84[1] →* i84[2]))
(3) -> (2), if ((i119[3] + -1 →* i119[2])∧(i118[3] + -1 →* i118[2])∧(i84[3] →* i84[2]))
(2) -> (3), if ((i84[2] >= 0 && i119[2] > i84[2] →* TRUE)∧(i119[2] →* i119[3])∧(i84[2] →* i84[3])∧(i118[2] →* i118[3]))
(1) -> (4), if ((i112[1] →* i119[4])∧(i112[1] →* i118[4])∧(i84[1] →* i84[4]))
(3) -> (4), if ((i84[3] →* i84[4])∧(i119[3] + -1 →* i119[4])∧(i118[3] + -1 →* i118[4]))
(4) -> (5), if ((i119[4] →* i119[5])∧(i84[4] →* i84[5])∧(i118[4] →* i118[5])∧(i119[4] <= i84[4] →* TRUE))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if ((i119[3] + -1 →* i119[2])∧(i118[3] + -1 →* i118[2])∧(i84[3] →* i84[2]))
(2) -> (3), if ((i84[2] >= 0 && i119[2] > i84[2] →* TRUE)∧(i119[2] →* i119[3])∧(i84[2] →* i84[3])∧(i118[2] →* i118[3]))
(1) (&&(>=(i84[2], 0), >(i119[2], i84[2]))=TRUE∧i119[2]=i119[3]∧i84[2]=i84[3]∧i118[2]=i118[3]∧+(i119[3], -1)=i119[2]1∧+(i118[3], -1)=i118[2]1∧i84[3]=i84[2]1 ⇒ COND_LOAD1221(TRUE, i118[3], i119[3], i84[3])≥NonInfC∧COND_LOAD1221(TRUE, i118[3], i119[3], i84[3])≥LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])∧(UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥))
(2) (>=(i84[2], 0)=TRUE∧>(i119[2], i84[2])=TRUE ⇒ COND_LOAD1221(TRUE, i118[2], i119[2], i84[2])≥NonInfC∧COND_LOAD1221(TRUE, i118[2], i119[2], i84[2])≥LOAD1221(+(i118[2], -1), +(i119[2], -1), i84[2])∧(UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥))
(3) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_15 + (-1)Bound*bni_15] + [bni_15]i84[2] + [bni_15]i119[2] ≥ 0∧[1 + (-1)bso_16] ≥ 0)
(4) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_15 + (-1)Bound*bni_15] + [bni_15]i84[2] + [bni_15]i119[2] ≥ 0∧[1 + (-1)bso_16] ≥ 0)
(5) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧[(-1)bni_15 + (-1)Bound*bni_15] + [bni_15]i84[2] + [bni_15]i119[2] ≥ 0∧[1 + (-1)bso_16] ≥ 0)
(6) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧0 = 0∧[(-1)bni_15 + (-1)Bound*bni_15] + [bni_15]i84[2] + [bni_15]i119[2] ≥ 0∧0 = 0∧[1 + (-1)bso_16] ≥ 0)
(7) (i84[2] ≥ 0∧i119[2] ≥ 0 ⇒ (UIncreasing(LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])), ≥)∧0 = 0∧[(-1)Bound*bni_15] + [(2)bni_15]i84[2] + [bni_15]i119[2] ≥ 0∧0 = 0∧[1 + (-1)bso_16] ≥ 0)
(8) (&&(>=(i84[2], 0), >(i119[2], i84[2]))=TRUE∧i119[2]=i119[3]∧i84[2]=i84[3]∧i118[2]=i118[3] ⇒ LOAD1221(i118[2], i119[2], i84[2])≥NonInfC∧LOAD1221(i118[2], i119[2], i84[2])≥COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])∧(UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥))
(9) (>=(i84[2], 0)=TRUE∧>(i119[2], i84[2])=TRUE ⇒ LOAD1221(i118[2], i119[2], i84[2])≥NonInfC∧LOAD1221(i118[2], i119[2], i84[2])≥COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])∧(UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥))
(10) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(-1)bni_17 + (-1)Bound*bni_17] + [bni_17]i84[2] + [bni_17]i119[2] ≥ 0∧[(-1)bso_18] ≥ 0)
(11) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(-1)bni_17 + (-1)Bound*bni_17] + [bni_17]i84[2] + [bni_17]i119[2] ≥ 0∧[(-1)bso_18] ≥ 0)
(12) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧[(-1)bni_17 + (-1)Bound*bni_17] + [bni_17]i84[2] + [bni_17]i119[2] ≥ 0∧[(-1)bso_18] ≥ 0)
(13) (i84[2] ≥ 0∧i119[2] + [-1] + [-1]i84[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧0 = 0∧[(-1)bni_17 + (-1)Bound*bni_17] + [bni_17]i84[2] + [bni_17]i119[2] ≥ 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(14) (i84[2] ≥ 0∧i119[2] ≥ 0 ⇒ (UIncreasing(COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])), ≥)∧0 = 0∧[(-1)Bound*bni_17] + [(2)bni_17]i84[2] + [bni_17]i119[2] ≥ 0∧0 = 0∧[(-1)bso_18] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = [1]
POL(COND_LOAD1221(x1, x2, x3, x4)) = [-1] + x4 + x3
POL(LOAD1221(x1, x2, x3)) = [-1] + x3 + x2
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(&&(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(0) = 0
POL(>(x1, x2)) = [-1]
COND_LOAD1221(TRUE, i118[3], i119[3], i84[3]) → LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])
COND_LOAD1221(TRUE, i118[3], i119[3], i84[3]) → LOAD1221(+(i118[3], -1), +(i119[3], -1), i84[3])
LOAD1221(i118[2], i119[2], i84[2]) → COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])
LOAD1221(i118[2], i119[2], i84[2]) → COND_LOAD1221(&&(>=(i84[2], 0), >(i119[2], i84[2])), i118[2], i119[2], i84[2])
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |